#pragma once

#include <QWidget>
#include "../observer/viewsubject.h"

class BaseView : public QWidget, public ViewSubject
{
public:
    /**
     * @brief 构造函数
     * @param parent
     */
    BaseView(QWidget* parent = nullptr):
        QWidget(parent){}
    /**
     * @brief init函数，好像也可以没有，这里只是为了让BaseView成为抽象类
     */
    virtual void init() = 0;

    /**
     * @brief 显示view
     */
    virtual void showView() {this->show();}
    /**
     * @brief 隐藏view
     */
    virtual void hideView() {this->hide();}

    virtual ~BaseView(){}
//    virtual void setViewModel(BaseViewModel*) = 0;
};
